The invention relates to routing switches for the transmission of digital signals and to methods of switching digital signals through routing switches. The invention is particularly applicable to ATM switches and methods of operating ATM switch networks.
Data communications in digital form are commonly used for distribution of data between computers and in telecommunications for the transmission of voice signals. Distributed computing systems have used Local Area Networks (LANs) but the requirement to provide wider networks has led to the need for reliable telecommunications networks which can support computer data as well as traditional voice traffic. Existing telephone networks have been designed to transmit voice traffic around the globe and such systems have been optimised for low band width with low latency between sender and receiver although the traffic is relatively insensitive to noise and data errors. Local area networks which have been used for computer communication have generally operated over relatively short distances but require high band width for computer data and in this case the data is not necessarily sensitive to latency but must avoid data errors or omissions. To mix the two communication requirements in a signal network, Broadband Integrated Services Digital Network systems have been proposed and in particular Asynchronous Transfer Mode (ATM) systems have been proposed using small self-routing packets of digital signals.
It is an object of the present invention to provide improved routing switches together with improved methods of switching data packets through a network of routing switches and is particularly applicable to ATM switches and systems.
Reference in this specification to a switch for bi-directional transmission of digital signals means a switch such that when two are connected together each may output a digital signal to the other. Switch 1 may act as a source of digital signals sent to switch 2 acting as a destination while switch 2 may act as a source of digital signals sent to switch 1 acting as a destination. The reference to source and destination may each be intermediate in an extended network of switches.
The invention provides a routing switch for bi-directional transmission of digital signal cells of at least two types, a first type requiring integrity of cell transmission while accepting variable bit rate of transmission, and a second type accepting some loss of cells in transmission, which switch has a plurality of input ports for receiving input cells for transmission through the switch, a plurality of output ports for outputting output cells buffer circuitry selectively connectable to both said input and output ports for holding a plurality of cells of each type after receipt by an input port and prior to output by an output port, designation circuitry to provide for each input port, and cells input through each port, a respective designation selected from at least first and second designations for use in determining permitted paths in a network, said buffer circuitry providing a first reserved buffer capacity for cells of said first type having said first designation, a second reserved buffer capacity for cells of said first type having said second designation, a third reserved buffer capacity for cells of said second type, and control circuitry for determining whether each input cell is of said first or second type and whether cells of the first type are of the first or second designation, loading each input cell of said first type into said buffer and providing a flow control signal to limit input cells of said first type of either of the first or second designations if predetermined thresholds for said first and second buffer capacities are reached for cells of the first type of the first and second designations respectively, and loading each input cell of said second type into said buffer if the number of cells of said second type in said buffer has not reached a predetermined threshold for said third buffer capacity, or discarding input cells of said second type if said predetermined threshold for said third buffer capacity has been reached.
Preferably said control circuitry includes threshold store circuitry to indicate first, second and third threshold values for respective numbers of cells of said first and second types in said buffer circuitry, and counting circuitry to count the number of cells of each of said type held in said buffer circuitry, whereby said control circuitry operates to provide flow control signals when a count of cells of said first type of either designtion reaches the respective first or second threshold value and to discard cells of said second type when a count of cells of said second type reaches said predetermined threshold dependant on said third threshold value.
Preferably said buffer circuitry is partitioned to hold controlled numbers of cells for a plurality of categories of each of said first and second types, and said threshold store circuitry and counting circuitry each provide respective values for each of said categories.
Preferably said categories relate to respective different priorities for each of said first type of cell of the first designation, first type of cell of the second designation and second type of cell, and said threshold store circuitry and counting circuitry each provide respective values for each of said different priorities.
Preferably the control circuitry includes a store to indicate for each input cell whether the designation is the first or second designation.
Preferably said buffer circuitry is partitioned to provide limited overflow capacity in excess of said first and second threshold values for cells of said first type to accomodate further cells of said first type which are output from a source of cells of said first type prior to input of flow control signals by said source to indicate that said first or second threshold has been reached.
Preferably control bits are arranged to include a congestion indicator for each cell of said second type, said input circuitry being responsive to said congestion indicator to determine an offset value from a stored threshold for said second buffer capacity thereby indicating the said predetermined threshold at which a cell of said second type is discarded.
The invention includes a method of transmitting through a routing switch in a network, digital signal cells of at least two types, a first type requiring integrity of cell transmission while accepting variable bit rate of transmission, and a second type accepting some loss of cells in transmission, which method comprises receiving input cells at a plurality of input ports for transmission through the switch, outputting output cells from a plurality of output ports holding in buffer circuitry a plurality cells of each type after receipt by an input port and prior to output by an output port, designating each cell with a respective designation, selected from at least first and second designations, for use in determining permitted communication paths in the network, providing in said buffer circuitry a first reserved buffer capacity for cells of said first type having said first designation, a second reserved buffer capacity for cells of said first type having said second designation, and a third reserved buffer capacity for cells of said second type, determining whether each input cell is a first type in the first designation, a first type in the second designation, or second type, loading each input cell of said first type into said buffer and providing a flow control signal to limit input of cells of said first type of either the first or second designation if a respective threshold for said first or second buffer capacity is reached, and loading each input cell of said second type into said buffer if the number of cells of said second type in said buffer has not reached a predetermined threshold for said second buffer capacity, or discarding input cells of said second type if said predetermined threshold for said second buffer capacity has been reached.
Preferably the method includes providing first, second and third threshold values for respective numbers of cells of said first type of the first designation, first type of the second designation and second type, in said buffer circuitry, counting the number of cells of respective type and designation held in said buffer, providing flow control signals when a count of cells of said first type of either designation reaches said first or second threshold value and discarding cells of said second type when a count of cells of said second type reaches said third threshold value.
Preferably each of said first, second and third reserved buffer capacities are sub-divided to provide categories of different priority, a plurality of separate threshold values being provided for counts of each category.
Preferably cells held in said buffer form a plurality of queues at respective output ports, separate counts of queue length being maintained in addition to counts of numbers of cells held in the buffer, the generation of flow control signals and discarding of cells being responsive to both types of count.